Dana jest szachownica o rozmiarach
, gdzie
jest nieparzystą liczbą całkowitą spełniającą nierówność
, oraz zestaw
kostek. Każda kostka ma kształt
prostokąta pokrywającego dokładnie dwa pola. Pola szachownicy są ponumerowane
kolejno wierszami - pola w pierwszym wierszu (od lewej do prawej) liczbami od
do
, pola w drugim wierszu od
do
i tak dalej aż do pola w prawym dolnym rogu, które ma numer
.
Z szachownicy wycinamy trzy dowolne pola, a następnie chcemy ją pokryć kostkami, w taki sposób, aby każde nie wycięte pole pokrywała jedna kostka (pokrywająca też jedno z sąsiednich pól), a pola wycięte pozostały nie pokryte.
Czy zawsze jest to możliwe?
Napisz program, który:
oraz
trzy numery wyciętych pól szachownicy,
par liczb całkowitych
wskazujących ułożenie kostek pokrywające daną szachownicę.Jeśli istnieje wiele sposobów pokrycia szachownicy kostkami, Twój program powinien wypisywać tylko jeden z nich.
W jedynym wierszu standardowego wejścia są zapisane cztery liczby pooddzielane
pojedynczymi odstępami. Pierwsza liczba to rozmiar szachownicy
, a
trzy następne to numery wyciętych pól. Po ostatniej liczbie następuje koniec
wiersza.
Dane w standardowym wejściu są zapisane poprawnie i Twój program nie musi tego sprawdzać.
Standardowe wyjście powinno zawierać albo jedno słowo NIE, albo w
każdym z
kolejnych wierszy dwie liczby oddzielone odstępem, to
znaczy numery dwóch sąsiednich pól pokrywanych przez jedną kostkę.
Dla danych wejściowych:
7 17 25 40
poprawną odpowiedzią jest:
18 19 20 21 8 9 10 11 12 13 14 7 6 5 4 3 1 2 15 22 16 23 29 36 30 37 24 31 32 39 43 44 38 45 46 47 48 49 41 42 33 34 35 28 26 27
Dla danych wejściowych:
7 25 32 40
poprawną odpowiedzią jest:
NIE
Autor zadania: Wojciech Rytter.
W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem szkopul@fri.edu.pl.
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, odwiedź nasze serwery na Discordzie. Są one moderowane przez społeczność, ale członkowie zespołu wsparcia również aktywnie się tam udzielają.